/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: GaoBo
 * Date: 2021-03-31
 * Time: 9:56
 */
public class Test {
    public static void main(String[] args) {
        B b = new B();
        int num = b.getValue();
        System.out.println(num);
    }
    static class A {
        protected int value;
        public A(int v) {
            setValue(v);
        }

        public void setValue(int value) {
            this.value = value;
        }
        public int getValue() {
            try {
                value++;
                return value;
            }finally {
                this.setValue(value);
                System.out.println(value);
            }
        }
    }
    static class B extends A {
        public B() {
            super(5);
            setValue(getValue()-3);
        }
        public void setValue(int value) {
            super.setValue(2*value);
        }
    }
}
